package com.niguang.work.api.entity;

import java.math.BigDecimal;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.enums.FieldFill;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.annotations.TableLogic;
import java.io.Serializable;

/**
 * <p>
 * 'work.v_personSite' is not BASE TABLE
 * </p>
 *
 * @author chenliu
 * @since 2018-07-23
 */
@TableName("work_salary")
public class Salary extends Model<Salary> {

    private static final long serialVersionUID = 1L;

    /**
     * 薪资ID
     */
    private Long id;
    /**
     * 用户ID
     */
    private Long userId;
    /**
     * 企业ID
     */
    private Long qiyeId;
    /**
     * 工地ID
     */
    private Long siteId;
    /**
     * 工种ID
     */
    private Long workTypeId;
    /**
     * 确认工时
     */
    private BigDecimal confirmHours;
    /**
     * 确认工日
     */
    private BigDecimal confirmDay;
    /**
     * 确认人ID
     */
    private Long confirmUserId;
    /**
     * 日工资单价
     */
    private BigDecimal daySalary;
    /**
     * 什么时候工作发的工资
     */
    private Date salaryDate;
    /**
     * 支出金额
     */
    private BigDecimal paySalary;
    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;
    /**
     * 支出收入标识 1-收入 2-支出
     */
    private Integer salaryType;
    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;
    /**
     * 删除标识 0-未删除 1-已删除
     */
    @TableLogic
    private Boolean delFlag;
    /**
     * 备注
     */
    private String remark;
    /**
     * 提现审核状态 1--未审核 2--审核通过 3--审核不通过
     */
    private Integer auditType;
    /**
     * 用户提现时，产生的班组长ID
     */
    private Long banzuUserId;
    /**
     * 劳务公司
     */
    private Long laborCompanyId;
    /**
     * 班组ID
     */
    private Long teamId;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getQiyeId() {
        return qiyeId;
    }

    public void setQiyeId(Long qiyeId) {
        this.qiyeId = qiyeId;
    }

    public Long getSiteId() {
        return siteId;
    }

    public void setSiteId(Long siteId) {
        this.siteId = siteId;
    }

    public Long getWorkTypeId() {
        return workTypeId;
    }

    public void setWorkTypeId(Long workTypeId) {
        this.workTypeId = workTypeId;
    }

    public BigDecimal getConfirmHours() {
        return confirmHours;
    }

    public void setConfirmHours(BigDecimal confirmHours) {
        this.confirmHours = confirmHours;
    }

    public BigDecimal getConfirmDay() {
        return confirmDay;
    }

    public void setConfirmDay(BigDecimal confirmDay) {
        this.confirmDay = confirmDay;
    }

    public Long getConfirmUserId() {
        return confirmUserId;
    }

    public void setConfirmUserId(Long confirmUserId) {
        this.confirmUserId = confirmUserId;
    }

    public BigDecimal getDaySalary() {
        return daySalary;
    }

    public void setDaySalary(BigDecimal daySalary) {
        this.daySalary = daySalary;
    }

    public Date getSalaryDate() {
        return salaryDate;
    }

    public void setSalaryDate(Date salaryDate) {
        this.salaryDate = salaryDate;
    }

    public BigDecimal getPaySalary() {
        return paySalary;
    }

    public void setPaySalary(BigDecimal paySalary) {
        this.paySalary = paySalary;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Integer getSalaryType() {
        return salaryType;
    }

    public void setSalaryType(Integer salaryType) {
        this.salaryType = salaryType;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Boolean getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(Boolean delFlag) {
        this.delFlag = delFlag;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Integer getAuditType() {
        return auditType;
    }

    public void setAuditType(Integer auditType) {
        this.auditType = auditType;
    }

    public Long getBanzuUserId() {
        return banzuUserId;
    }

    public void setBanzuUserId(Long banzuUserId) {
        this.banzuUserId = banzuUserId;
    }

    public Long getLaborCompanyId() {
        return laborCompanyId;
    }

    public void setLaborCompanyId(Long laborCompanyId) {
        this.laborCompanyId = laborCompanyId;
    }

    public Long getTeamId() {
        return teamId;
    }

    public void setTeamId(Long teamId) {
        this.teamId = teamId;
    }

    public static final String ID = "id";

    public static final String USER_ID = "user_id";

    public static final String QIYE_ID = "qiye_id";

    public static final String SITE_ID = "site_id";

    public static final String WORK_TYPE_ID = "work_type_id";

    public static final String CONFIRM_HOURS = "confirm_hours";

    public static final String CONFIRM_DAY = "confirm_day";

    public static final String CONFIRM_USER_ID = "confirm_user_id";

    public static final String DAY_SALARY = "day_salary";

    public static final String SALARY_DATE = "salary_date";

    public static final String PAY_SALARY = "pay_salary";

    public static final String CREATE_TIME = "create_time";

    public static final String SALARY_TYPE = "salary_type";

    public static final String UPDATE_TIME = "update_time";

    public static final String DEL_FLAG = "del_flag";

    public static final String REMARK = "remark";

    public static final String AUDIT_TYPE = "audit_type";

    public static final String BANZU_USER_ID = "banzu_user_id";

    public static final String LABOR_COMPANY_ID = "labor_company_id";

    public static final String TEAM_ID = "team_id";

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "Salary{" +
        "id=" + id +
        ", userId=" + userId +
        ", qiyeId=" + qiyeId +
        ", siteId=" + siteId +
        ", workTypeId=" + workTypeId +
        ", confirmHours=" + confirmHours +
        ", confirmDay=" + confirmDay +
        ", confirmUserId=" + confirmUserId +
        ", daySalary=" + daySalary +
        ", salaryDate=" + salaryDate +
        ", paySalary=" + paySalary +
        ", createTime=" + createTime +
        ", salaryType=" + salaryType +
        ", updateTime=" + updateTime +
        ", delFlag=" + delFlag +
        ", remark=" + remark +
        ", auditType=" + auditType +
        ", banzuUserId=" + banzuUserId +
        ", laborCompanyId=" + laborCompanyId +
        ", teamId=" + teamId +
        "}";
    }
}
